home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / utils / tiny_firewall / tpf5.exe / Tiny Personal Firewall 5.0.msi / boxes.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2003-05-28  |  5.1 KB  |  127 lines

  1. <?xml version='1.0' ?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.    <xsl:output method="xml" indent="yes" />
  4.    <xsl:key name="userKey" match="Event" use="@user" />
  5.    <xsl:key name="domainKey" match="Event" use="@domain" />
  6.    <xsl:key name="remIpKey" match="Event/InetDef" use="@remIp" />
  7.    <xsl:variable name="userList" select="/Root/Event[generate-id() = generate-id(key('userKey',  @user)[1])]/@user" />
  8.    <xsl:variable name="domainList" select="/Root/Event[generate-id() = generate-id(key('domainKey',  @domain)[1])]/@domain" />
  9.    <!-- 
  10.    ////////////// ROOT ///////////////// 
  11.    -->
  12.    <xsl:template match="/">
  13.    <div>
  14.       <i>user  </i>
  15.       <xsl:call-template name="box">
  16.          <xsl:with-param name="attList" select="$userList" />
  17.          <xsl:with-param name="boxName" select="'userBox'" />
  18.       </xsl:call-template>
  19.       <i>domain  </i>
  20.       <xsl:call-template name="box">
  21.          <xsl:with-param name="attList" select="/Root/Event[generate-id() = generate-id(key('domainKey',  @domain)[1])]/@domain" />
  22.          <xsl:with-param name="boxName" select="'domainBox'" />
  23.       </xsl:call-template>
  24.       <i>remIp  </i>
  25.       <xsl:call-template name="box">
  26.          <xsl:with-param name="attList" select="/Root/Event/InetDef[generate-id() = generate-id(key('remIpKey',  @remIp)[1])]/@remIp" />
  27.          <xsl:with-param name="boxName" select="'remIpBox'" />
  28.       </xsl:call-template>
  29.       <br />
  30.      <!-- <I>use date</I> <INPUT type="checkbox" name="useDate"/> -->
  31.       <xsl:call-template name="dateFrom" />
  32.       <xsl:call-template name="dateTo" />
  33.       <br />
  34.       <I>use time</I> <INPUT type="checkbox" name="useTime"/>
  35.       <xsl:call-template name="timeFrom" />
  36.       <xsl:call-template name="timeTo" />
  37.       <br />
  38.       <input type="button" value="Reset Boxes" onclick="ResetBoxes ()" />
  39.       <br/>
  40.    <!--    <input type="button" value="Refresh" onclick="Refresh ()" />-->
  41.         <input type="button" value="View List" onclick="RefreshGroup ('basic.xsl')" />
  42.         <xsl:text>  </xsl:text>
  43.        <input type="button" value="View Table" onclick="RefreshGroup ('tableview.xsl')" />
  44.      <!-- <i> logfile </i><xsl:text> </xsl:text>
  45.       <input type="text" name="logfile" value="030521_001.xml" /> -->
  46.       
  47.       </div>
  48.    </xsl:template>
  49.    <!-- 
  50.    ////////////// BOX ///////////////// 
  51.    -->
  52.    <xsl:template name="box">
  53.       <xsl:param name="attList" />
  54.       <xsl:param name="boxName" />
  55.       <xsl:element name="select">
  56.          <xsl:attribute name="name">
  57.             <xsl:value-of select="$boxName" />
  58.          </xsl:attribute>
  59.          <xsl:element name="option">
  60.                 <xsl:attribute name="value"></xsl:attribute>
  61.                  All
  62.           </xsl:element>
  63.  
  64.          <xsl:for-each select="$attList">
  65.             <xsl:element name="option">
  66.                 <xsl:attribute name="value">
  67.                     <xsl:value-of select="current()" />
  68.                  </xsl:attribute>
  69.                <xsl:value-of select="current()" />
  70.             </xsl:element>
  71.          </xsl:for-each>
  72.       </xsl:element>
  73.    </xsl:template>
  74.    <!-- 
  75.    ////////////// timeFrom ///////////////// 
  76.    -->
  77.    <xsl:template name="timeFrom">
  78.       <i>timeFrom  </i>
  79.       <xsl:element name="input">
  80.          <xsl:attribute name="type">TEXT</xsl:attribute>
  81.          <xsl:attribute name="name">timeFrom</xsl:attribute>
  82.          <xsl:attribute name="value">
  83.             <xsl:value-of select=" substring-after( (/Root/Event[@dateTimeLast and position() = 1]/@dateTimeLast), 'T' ) " />
  84.          </xsl:attribute>
  85.       </xsl:element>
  86.    </xsl:template>
  87.    <!-- 
  88.    ////////////// dateFrom ///////////////// 
  89.    -->
  90.    <xsl:template name="dateFrom">
  91.       <i>dateFrom  </i>
  92.       <xsl:element name="input">
  93.          <xsl:attribute name="type">TEXT</xsl:attribute>
  94.          <xsl:attribute name="name">dateFrom</xsl:attribute>
  95.          <xsl:attribute name="value">
  96.             <xsl:value-of select=" substring-before( (/Root/Event[@dateTimeLast and position() = 1]/@dateTimeLast), 'T' ) " />
  97.          </xsl:attribute>
  98.       </xsl:element>
  99.    </xsl:template>
  100.    <!-- 
  101.    ////////////// dateTo ///////////////// 
  102.    -->
  103.    <xsl:template name="dateTo">
  104.       <i> dateTo  </i>
  105.       <xsl:element name="input">
  106.          <xsl:attribute name="type">TEXT</xsl:attribute>
  107.          <xsl:attribute name="name">dateTo</xsl:attribute>
  108.          <xsl:attribute name="value">
  109.             <xsl:value-of select=" substring-before( (/Root/Event[@dateTimeLast and position() = last()]/@dateTimeLast), 'T' ) " />
  110.          </xsl:attribute>
  111.       </xsl:element>
  112.    </xsl:template>
  113.    <!-- 
  114.    ////////////// timeTo ///////////////// 
  115.    -->
  116.    <xsl:template name="timeTo">
  117.       <i>timeTo  </i>
  118.       <xsl:element name="input">
  119.          <xsl:attribute name="type">TEXT</xsl:attribute>
  120.          <xsl:attribute name="name">timeTo</xsl:attribute>
  121.          <xsl:attribute name="value">
  122.             <xsl:value-of select=" substring-after( (/Root/Event[@dateTimeLast and position() = last()]/@dateTimeLast), 'T' ) " />
  123.          </xsl:attribute>
  124.       </xsl:element>
  125.    </xsl:template>
  126. </xsl:stylesheet>
  127.